package com.ruoyi.demo.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 竞拍保证金对象 auction_deposit
 * 
 * @author metaee
 * @date 2025-03-05
 */
@ApiModel("竞拍保证金对象")
public class AuctionDeposit extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 保证金ID */
    private Long depositId;

    /** 商品ID */
    @ApiModelProperty("商品ID")
    @Excel(name = "商品ID")
    private Long goodsId;

    /** 用户ID */
    @ApiModelProperty("用户ID")
    @Excel(name = "用户ID")
    private Long userId;

    /** 保证金金额 */
    @ApiModelProperty("保证金金额")
    @Excel(name = "保证金金额")
    private BigDecimal amount;

    /** 支付状态（0未支付 1已支付 2已退款） */
    @ApiModelProperty("支付状态")
    @Excel(name = "支付状态", readConverterExp = "0=未支付,1=已支付,2=已退款")
    private String payStatus;

    /** 支付时间 */
    @ApiModelProperty("支付时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 退款时间 */
    @ApiModelProperty("退款时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date refundTime;

    /** 支付交易号 */
    @ApiModelProperty("支付交易号")
    @Excel(name = "支付交易号")
    private String transactionNo;

    /** 支付方式 */
    @ApiModelProperty("支付方式")
    @Excel(name = "支付方式")
    private String payMethod;

    public void setDepositId(Long depositId) 
    {
        this.depositId = depositId;
    }

    public Long getDepositId() 
    {
        return depositId;
    }
    public void setGoodsId(Long goodsId) 
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId() 
    {
        return goodsId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setAmount(BigDecimal amount) 
    {
        this.amount = amount;
    }

    public BigDecimal getAmount() 
    {
        return amount;
    }
    public void setPayStatus(String payStatus) 
    {
        this.payStatus = payStatus;
    }

    public String getPayStatus() 
    {
        return payStatus;
    }
    public void setPayTime(Date payTime) 
    {
        this.payTime = payTime;
    }

    public Date getPayTime() 
    {
        return payTime;
    }
    public void setRefundTime(Date refundTime) 
    {
        this.refundTime = refundTime;
    }

    public Date getRefundTime() 
    {
        return refundTime;
    }
    public void setTransactionNo(String transactionNo) 
    {
        this.transactionNo = transactionNo;
    }

    public String getTransactionNo() 
    {
        return transactionNo;
    }
    public void setPayMethod(String payMethod) 
    {
        this.payMethod = payMethod;
    }

    public String getPayMethod() 
    {
        return payMethod;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("depositId", getDepositId())
            .append("goodsId", getGoodsId())
            .append("userId", getUserId())
            .append("amount", getAmount())
            .append("payStatus", getPayStatus())
            .append("payTime", getPayTime())
            .append("refundTime", getRefundTime())
            .append("transactionNo", getTransactionNo())
            .append("payMethod", getPayMethod())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
